class GFG {
    static final int MAX = 1000;
 
    // Return the maximum weight of string having
    // given prefix.
    static int maxWeight(String str[], int weight[],
                              int n, String prefix)
    {
        int ans = -1;
        boolean check;
 
        // Traversing all strings
        for (int i = 0; i < n; i++)
        {
            check = true;
 
            // Checking if string contain given prefix.
            for (int j=0, k=0; j < str[i].length() &&
                               k < prefix.length(); j++, k++)
            {
                if (str[i].charAt(j) != prefix.charAt(k))
                {
                    check = false;
                    break;
                }
            }
 
            // If contain prefix then finding
            // the maximum value.
            if (check)
                ans = Math.max(ans, weight[i]);
        }
 
        return ans;
    }
 
    // Driven program
    public static void main(String args[])
    {
        int n = 3;
        String str[] = { "geeks", "geeksfor", "geeksforgeeks" };
        int weight[] = {15, 30, 45};
        String prefix = "geek";
 
        System.out.println(maxWeight(str, weight, n, prefix));
    }
}
